package com.onLineCar.vehicle.orderEnum;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * 订单状态枚举类
 * @author 李新科
 */
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum OrderStatusEnum {
    /**
     * 订单开始
     */
        ORDER_STATUS_START(0, "订单开始"),

    /**
     * 司机接单
     */
    ORDER_STATUS_DRIVER(1, "司机接单"),

    /**
     * 司机到达乘客起点
     */
    ORDER_STATUS_START_POINT(2, "司机到达乘客起点"),

    /**
     * 乘客上车，司机开始行程
     */
    ORDER_STATUS_CUSTOMER_START(3, "乘客上车，司机开始行程"),

    /**
     * 到达目的地，行程结束，未支付
     */
    ORDER_STATUS_END_POINT(4, "到达目的地，行程结束，未支付"),

    /**
     * 发起收款
     */
    ORDER_STATUS_PAY(5, "发起收款"),

    /**
     * 已支付
     */
    ORDER_STATUS_PAY_SUCCESS(6, "已支付"),

    /**
     * 订单取消
     */
    ORDER_STATUS_CANCEL(7, "订单取消"),

    /**
     * 去接乘客
     */
    ORDER_STATUS_GO_CUSTOMER(10, "去接乘客"),

    /**
     * 待派订单
     */
    ORDER_STATUS_WAIT(11, "待派订单");

    private Integer orderCode;

    private String orderValue;



    public static String getOrderValueByCode(Integer orderCode) {
        OrderStatusEnum[] values = OrderStatusEnum.values();
        for (OrderStatusEnum value : values) {
            if (orderCode.equals(value.orderCode)) {
                return value.orderValue;
            }
        }
        return null;
    }

    public static String getOrderCodeByValue(String orderValue) {
        OrderStatusEnum[] values = OrderStatusEnum.values();
        for (OrderStatusEnum value : values) {
            if (orderValue.equals(value.orderValue)) {
                return value.orderValue;
            }
        }
        return null;
    }

}
